import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 创建store对象
export default new Vuex.Store({
    // state中存放全局共享数据
    state : {
      count : 0
    },
    mutations:{
      add(state){
        // 变更状态
        state.count ++;
      },
      addN(state, step){
        state.count += step;
      },
      sub(state){
        state.count--
      },
      subN(state, step){
        state.count -= step;
      }
    },
    actions:{
        addAsync(context){
          setTimeout(()=>{
            context.commit('add');
          }, 1000)
        },
        addNSync(context, step){
          setTimeout(()=>{
            context.commit('addN', step);
          }, 1000)
        },
        sun1Sync(context){
          setTimeout(()=>{
            context.commit('sub');
          }, 1000)
        }
  
    },
    getters:{
      showNum:state=>{
        return "当前最新的数量是"+state.count;
      }
    }
  })